import {getToken} from '../../api'
import {saveToken,saveUserinfo} from '../../utils'

export default {
  name: "login",
  data() {
    var checkCode = (rule, value, callback) => {    // 校验工号
      if (!value.trim()) {
        return callback(new Error('请输入工号'));
      }
    };
    var checkPassword = (rule, value, callback) => {    // 校验密码
      if (!value) {
        return callback(new Error('请输入密码'));
      }
    };
    return {
      loginForm: {
        code: '',    // 用户名
        password: '',    // 密码
      },    // 登录表单
      loginRules: {
        code: [
          { validator: checkCode, trigger: 'blur' }
        ],
        password: [
          { validator: checkPassword, trigger: 'blur' }
        ],
      },    // 登录表单验证规则
    };
  },
  methods: {
    // 执行登录
    async login(){
      if(!this.loginForm.code.trim() || !this.loginForm.password){
        this.$message.warning('请输入用户名和密码');
      }else{
        let res = await getToken(this.loginForm);
        if(res.status===200){    // 登录成功,保存token,保存用户基本信息
          saveToken(res.data.token);
          saveUserinfo(res.data.token);
          let to = this.$route.query.to? this.$route.query.to: '/overview';
          this.$router.push(to);
        }else{    // 提示错误消息
          if(res.data.non_field_errors){
            this.$message.error(res.data.non_field_errors[0]);
          }else{
            this.$message.error('用户名和密码不能为空')
          }

        }
      }
    }
  },
  computed: {},
  components: {},
  created(){
    // console.log(this.$route.query.to);
  }
}
